iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
Mobile Development

「淺入 Android Studio 開發環境」—— 工具與插件的高效使用系列 第 10

# Day 10 探索 Android 中的常用元件之 SeekBar 與 ProgressBar

  • 分享至 

  • xImage
  •  

今天的文章將介紹兩個常見且實用的 Android UI 元件:SeekBar 和 ProgressBar。這兩個元件主要用於視覺化地反映應用中進行中的操作,無論是讓用戶調整設定還是呈現任務進度,都是開發者經常使用的元件。

1. SeekBar:用戶可調節的滑動條

SeekBar 的基本用法

SeekBar 是一個可讓用戶滑動的條狀元件,用於調整一個值。這個元件通常用於需要用戶根據範圍選擇數值的場景,例如音量、亮度等設定。
XML 定義 SeekBar

<SeekBar
    android:id="@+id/seekBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:max="100"
    android:progress="50"/>

在這個定義中,android:max 屬性用來設定 SeekBar 的最大值,android:progress 則用來設定初始進度值。這裡我們將 SeekBar 的範圍設定為 0 到 100,初始進度設為 50。

監聽 SeekBar 的變化

我們可以透過程式碼來監聽用戶調整 SeekBar 的進度,並根據滑動位置進行相應的操作。

SeekBar seekBar = findViewById(R.id.seekBar);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        // 當進度改變時,進行相應的操作
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
        // 當用戶開始拖動 SeekBar 時執行
    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        // 當用戶停止拖動 SeekBar 時執行
    }
});

onProgressChanged 方法將在進度發生變化時觸發,我們可以根據進度條的值動態調整應用中的設定。

2. ProgressBar:顯示任務進度的條形圖

ProgressBar 的基本用法

ProgressBar 是用來表示任務進度的條狀元件。它分為兩種:不確定模式(indeterminate mode)和 確定模式(determinate mode)。前者用於顯示任務進度未知的情境,而後者則顯示具體的進度百分比。

XML 定義 ProgressBar(確定模式)

<ProgressBar
    android:id="@+id/progressBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:max="100"
    android:progress="0"
    style="?android:attr/progressBarStyleHorizontal"/>

這段程式碼定義了一個橫向的 ProgressBar,並將進度範圍設為 0 到 100。
android:progressBarStyleHorizontal 用來設定條形的進度條風格。

更新 ProgressBar 進度

在程式中,我們可以通過調整 ProgressBar 的 setProgress()方法來更新進度顯示。

ProgressBar progressBar = findViewById(R.id.progressBar);
progressBar.setProgress(50);  // 設置進度為 50%

不確定模式

不確定模式通常用於加載時間無法預估的情況,例如網路請求。要啟用不確定模式,我們只需將 android:indeterminate 屬性設為 true

<ProgressBar
    android:id="@+id/progressBarIndeterminate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:indeterminate="true"/>

3. 總結

今天我們探討了 SeekBar 和 ProgressBar 這兩個 Android 常用元件的基本用法與應用場景。SeekBar 適合用於用戶可調整的選項,而 ProgressBar 則用於反映任務的進度。透過靈活運用這兩個元件,我們可以為用戶提供更直觀、互動性更強的使用體驗。接下來,將繼續介紹更多的 Android 元件與開發技巧,敬請期待!


上一篇
# Day 09 CheckBox 和 RadioButton 的使用
下一篇
# DAY11 高效使用 Android Studio 的工具與插件
系列文
「淺入 Android Studio 開發環境」—— 工具與插件的高效使用29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言